Many processing systems comprise one or more calculation units intended to perform operations on data. These calculation units can exchange words comprising the data with a storage device in which said words are stored. To do this, a switching system (a “crossbar system”) is used in order in particular to direct the words coming from the storage device to a suitable calculation unit. The publication “Architecture and Implementation of a High-Definition Video Co-Processor for Digital Television Applications” by Santanu Dutta et al., published in January 2000, describes an example of such a processing system.
This processing system comprises a bank of registers constituting the storage device and comprising register reading ports and register writing ports, calculation units comprising calculation unit input ports and calculation unit output ports, and a reading and writing switching system comprising a reading switching system and a writing switching system. An exchange of words can be effected from a register reading port to a calculation unit input port, by means of the reading switching system; this is then a reading. An exchange of words can also be effected from a calculation unit output port to a register writing port, by means of the writing switching system. This is then a writing.
The term “calculation unit port” will hereinafter be applied indifferently to a calculation unit input or output port, “register port” to a register reading or writing port and “switching system” to a reading or writing switching system. In addition, the term “exchange” applies to a reading or writing of words.
In such a processing system, the switching system is implemented by means of multiplexers. The size of the switching system depends on the number of multiplexers used. The number of multiplexers depends on the number of register ports and calculation unit ports between which words may be exchanged, and the size of the words exchanged. In this processing system, the size of the words exchanged is large, and the words can be exchanged between all the register ports and all the calculation unit ports, by means of the switching system.
FIG. 1 illustrates a processing system according to the state of the art. Such a processing system comprises a storage device 10, a reading switching system 11, a writing switching system 12, and first, second, third and fourth calculation units 13 to 16. The storage device 10 comprises six register reading ports, for example rrp1 and rrp6, and four register writing ports, for example wrp1 and wrp4. The calculation units comprise calculation unit input ports, for example iup1 and iup2, and calculation unit output ports, for example eup5.
In this example, the words exchanged are words of P bits. Let it be assumed that the first calculation unit 13 wishes to read a data item stored in the storage device 10, on its calculation unit input port rup1. A control device, not shown in FIG. 1, indicates to the storage device 10 that it must send this data item over one of its reading ports, for example the port rrp1. This data item is then sent to the reading switching system 11, which is responsible for sending the data item to the calculation unit input port rup1. To do this, the reading switching system 11 comprises multiplexers. The control device sends control signals to the multiplexers, in order to direct the data item to the calculation unit input port iup1.
In such a processing system, all the register reading ports are connected to all the calculation unit input ports by means of the reading switching device 11. The expression “two ports are connected” means that an exchange of words is possible between these two ports. In FIG. 1, only a few connections have been shown, for reasons of clarity. If:                the number of register reading ports is termed m;        the number of calculation unit input ports is termed n, and        the number of bits of the words exchanged is termed P,        the number of multiplexers of the reading switching device is n(m−1)P.        
For the writing switching device, the functioning is the same. If:                the number of calculation unit output ports is termed m′;        the number of register writing ports is termed n′, and        the number of bits of the words exchanged is termed P,        the number of multiplexers of the writing switching device is n′(m′−1)P.        
The number of multiplexers therefore depends in particular on the number of bits of the words exchanged. However, the words exchanged have a size of P bits, whilst certain calculation units perform certain operations on data of a lesser size, for example P/N bits. When a calculation unit wishes to read a data item P/N bits, the storage device sends to it a word of P bits comprising this data item. Consequently, during such an exchange, (N−1)P/N bits are not used by the calculation unit.
This results in the size of the switching system being large. This presents a drawback, since the switching system is bulky. Because of this, the number of calculation units and calculation unit ports is limited, since the switching system cannot occupy more than a predefined surface area.